package com.atguigu.lease.web.admin.custom.convert;

import com.atguigu.lease.model.enums.ItemType;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;


/**
 * 自定义转换器  String -> ItemType
 */
// 因为配置类是new  所以这里不需要加@Component
//@Component
public class StringToItemTypeConvert implements Converter<String, ItemType> {


    /**
     * 转换方法
     *
     * @param source 原数据 "1" "2"
     * @return ItemType
     */
    @Override
    public ItemType convert(String source) {

        ItemType[] values = ItemType.values();
        for (ItemType value : values) {
            if (source.equals(value.getCode() + "")) {
                return value;
            }
        }
        // 主动抛出异常
        throw new RuntimeException("传入参数类型错误，只能是1 2");

//        if (source.equals("1")){
//            return ItemType.APARTMENT;
//        }else if(source.equals("2")){
//            return ItemType.ROOM;
//        }else{
//            // 主动抛出异常
//            throw new RuntimeException("传入参数类型错误，只能是1 2");
//        }
    }
}
